Skip to content

fix: resolve the defects pinned during the UI-test pass - #266

Merged
vishnuv688 merged 14 commits into
vv/test-automationfrom
vv/fix-pinned-defects
Aug 3, 2026
Merged

fix: resolve the defects pinned during the UI-test pass#266
vishnuv688 merged 14 commits into
vv/test-automationfrom
vv/fix-pinned-defects

Conversation

@vishnuv688

@vishnuv688 vishnuv688 commented Aug 3, 2026

Copy link
Copy Markdown
Member

What & why

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Polish (an improvement to an existing feature)
  • Breaking change (existing behavior changes for users)
  • Documentation
  • Internal (build, CI, dependencies, tooling)

Packages touched

  • shared (types and contracts)
  • core (framework-agnostic capture/reporting)
  • service (WebdriverIO adapter)
  • nightwatch-devtools (Nightwatch adapter)
  • selenium-devtools (Selenium adapter)
  • backend (server)
  • app (UI)
  • script (page-injected runtime)

Notes for reviewers

Screenshots / recordings

@greptile-apps

greptile-apps Bot commented Aug 3, 2026

Copy link
Copy Markdown

Greptile Summary

This bug-fix PR updates capture and replay behavior along with several DevTools panels, runner controls, trace processing utilities, and their tests.

  • Distinguishes removed attributes from present empty attributes during DOM replay.
  • Synchronizes replayed form properties and boolean attributes with captured mutations.
  • Improves runner capability handling, workbench presentation, trace transcript generation, and UID behavior.
  • Expands unit and UI coverage for the corrected paths.

Confidence Score: 4/5

The PR should not merge until real checked="false" attribute mutations can be distinguished from synthetic unchecked-state records.

The current decoder still maps every checked record carrying "false" to an absent attribute and false property, even though the collector can produce that identical record when a page sets the present HTML attribute checked="false".

Files Needing Attention: packages/app/src/components/browser/boolean-attribute.ts, packages/script/src/index.ts, packages/script/src/mutations.ts

Important Files Changed

Filename Overview
packages/app/src/components/browser/boolean-attribute.ts Adds boolean-attribute decoding that fixes ordinary literal-false attributes but still conflates real checked="false" mutations with synthetic unchecked-state records.
packages/app/src/components/browser/snapshot.ts Correctly distinguishes attribute removal from empty values and synchronizes replayed form state while preserving dirty input text.
packages/script/src/mutations.ts Serializes removed attributes as absent values while preserving empty and literal string values for replay.
packages/script/src/index.ts Emits synthetic field-state mutations, including checkbox property state using the same checked mutation shape as real attribute changes.
packages/app/test-ui/workbench/player/snapshot.test.ts Adds broad replay coverage for boolean attributes, non-boolean removals, empty values, and pristine versus dirty fields.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Captured DOM and field events] --> B[Trace mutation stream]
  B --> C{Mutation kind}
  C -->|Document or child list| D[Rebuild replay DOM]
  C -->|Non-boolean attribute| E[Set or remove attribute]
  C -->|Boolean attribute| F[Decode presence or property state]
  E --> G[Rendered snapshot]
  F --> G
  D --> G
Loading

Reviews (4): Last reviewed commit: "fix(app): empty a replayed field whose v..." | Re-trigger Greptile

Comment thread packages/app/src/components/browser/snapshot.ts Outdated
Comment thread packages/app/src/components/browser/boolean-attribute.ts Outdated
Comment thread packages/app/src/components/browser/snapshot.ts
@vishnuv688
vishnuv688 merged commit 4419175 into vv/test-automation Aug 3, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant